/*
 * Miya.com Inc.
 * Copyright (c) 2004-2018 All Rights Reserved.
 */
package com.miya.erpmofa.common.lang.enums;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.lang.StringUtils;

/**
 * 商品状态枚举类
 *
 * @author zhaowei
 * @version $Id: CommodityStatusEnum.java, v 0.1 2018年01月02日 20:26 PM
 */
@SuppressWarnings("unused")
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum CommodityStatusEnum {

    INIT("INIT", "INIT", "初始信息", "初始信息"),

    TEST("TEST", "TEST", "试销期", "试销期"),

    NORMAL("NORMAL", "NORMAL", "正常流转", "正常流转"),

    PAUSE_PURCHASE("PAUSE_PURCHASE", "PAUSE_PURCHASE", "暂停进货", "暂停进货"),

    INVALID("INVALID", "INVALID", "作废", "作废"),;
    /**
     * 枚举编码
     */
    @Getter
    private final String code;

    /**
     * 英文名
     */
    @Getter
    private final String englishName;

    /**
     * 中文名
     */
    @Getter
    private final String chineseName;

    /**
     * 枚举描述信息
     */
    @Getter
    private final String description;

    /**
     * 根据编码查询枚举。
     *
     * @param code 编码。
     * @return 枚举。
     */
    public static CommodityStatusEnum getByCode(String code) {
        for (CommodityStatusEnum value : CommodityStatusEnum.values()) {
            if (StringUtils.equals(code, value.getCode())) {
                return value;
            }
        }
        return null;
    }
}
